package com.roc.service.setting;
/**
 * @author FengHaiTao
 * 
 */
import java.util.List;
import java.util.Map;

import com.roc.dao.DaoException;
import com.roc.pojo.AuditingItem;
import com.roc.pojo.CalcuBean;
import com.roc.pojo.DuizhangBean;
import com.roc.pojo.Esmidinfo;
import com.roc.pojo.Estrnlog;
import com.roc.pojo.ExcelBean;
import com.roc.pojo.SettFlagBean;
import com.roc.pojo.SettingBean;
import com.roc.pojo.SettingItemBean;
import com.roc.service.ServiceException;
import com.roc.web.action.setting.CalcuSearchCondition;
import com.roc.web.action.setting.ReviewSettingSearchCondition;

public interface ISettflagService {
	
	//查询所有结算标示
	List<SettFlagBean> querySettingFlagList()throws ServiceException;
	//清算总额。
	List<Object> querycalcuSummoney(CalcuSearchCondition searchCondition) throws ServiceException;

	//审核
	boolean frozenApply(AuditingItem auditing,SettingBean sett,String stuts) throws ServiceException;
	boolean KYApply(AuditingItem auditing,Esmidinfo esm,String stuts) throws ServiceException;
	
	
	
	//查询结算信息
	SettingBean querySettingBean(String id) throws ServiceException;
	//查询结算状态
	int queryStatusCount(List<Long> iddlist) throws ServiceException;
	double querySummoney(ReviewSettingSearchCondition searchCondition) throws ServiceException;
	//调用清算存储过程
	void excuCalcuPro()throws ServiceException;
	void excuSettingPro()throws ServiceException;
	void excuSettingLoadPro()throws ServiceException;
	int excuKQSettingPro(String minDate,String maxDate)throws ServiceException;
	int excuHRTSettingPro(String minDate,String maxDate)throws ServiceException;
	String maxserid(String settdate)throws ServiceException;
	
	//结算审核
	boolean reviewsetting(AuditingItem auditing,SettingBean sett,String stuts,List<SettingItemBean> list) throws ServiceException;
	
	//查询所有出款信息。
	List<SettingItemBean> querySettingItemList()throws ServiceException;
	//根据交易金额，交易时间查询交易记录
	CalcuBean queryCalcuBean(String date,String time,String termtrace)throws ServiceException;
	
	//查询对账信息。
	Map<String,DuizhangBean> queryDuizhangBean(String mindate,String maxdate,String finadate,String dateFlag)throws ServiceException;
	//插入差错账
	boolean insertCHZ(Map<String,DuizhangBean> map,Map<String,DuizhangBean> map1,Map<String,DuizhangBean> map2) throws ServiceException;
	//审批结果。
	List<AuditingItem> queryAuditingItemList(String id)throws ServiceException;
	
	//查询可冻结的清算记录数。
	int querycaucleStatusCount(List<String> iddlist,String bathno) throws ServiceException;
	//查询结算信息
	SettingBean querySettingBean(String merchantno,String bathno) throws ServiceException;
	//冻结清算记录
	int frozencaucle(List<String> iddlist,SettingBean sett,String batchno) throws ServiceException;
	
	int queryTrancount(DuizhangBean db)throws ServiceException;
	int queryDZcount(DuizhangBean db)throws ServiceException;
	void deleteDZ(DuizhangBean db) throws ServiceException ;
	String selectExcelName(String modelflag,String excelflag) throws ServiceException ;
	
	int updatesetting(String minDate,String maxDate,String modelflag,String excelflag,ExcelBean exb)throws ServiceException ;
	//查询结算id
	String getsettid()throws ServiceException;

}
